草庐IT

java - 模拟打印机

全部标签

go - 用模拟编写单元测试

我在里面写了一个RESTapi。现在我想通过隔离不同的组件来对其进行单元测试。项目结构如下所示,有两个主要包├──main.go├──routes│├──routes.go│└──routes_test.go├──db│└──db.goma​​in.go:项目的主要入口点routes/routes.go:HTTP路由处理包db/db.go:数据库处理器包现在,当我测试http路由时,我只想测试请求是否被路由到正确的处理程序函数,然后它们会做出相应的响应。在实际应用程序中,处理函数实际上会插入/更新数据库,但我不想在测试时这样做。因此,如果我可以模拟一个数据库对象并使我的处理程序函数针对

go - 无法弄清楚如何格式化循环打印输出的值

我正在尝试更改cli插件的子命令的输出,但很难使其正常工作。目前它显示了一个丑陋的打印列表;我想把它格式化成一个更容易阅读的漂亮表格。没有桌子,一切都很好…只是看起来很难看。在表中加上“用作值”来打断它。我试着把这行声明为字符串数组,但没有成功。我漏掉了一些东西,不知道是什么。for{select{case我希望格式化的输出看起来更干净,而不是-cannotusetickerObject(type[]string)astypestringinargumenttotable.Add当前输出(使用注释掉的ui.say行)不对齐:在空间功能开发测试中收集appfabric任务的统计信息ctr

java - 如何使用 gorm 动态添加查询参数?

我是golang开发的新手。我有6个参数要使用gorm传递给查询。这是选择查询,因此,我们需要根据输入值过滤值。因此,我们需要将过滤器动态传递到查询中。我试过了,但没有解决方案。funcGetUsers(DB*gorm.DB,Offsetint,Limitint,Useruibackendmodels.UserDetails)(Users[]uibackendmodels.UserDetails,Err错误){query:="SELECTuserid,username,nickname,email,mobile,location,status,roleids,trsids,brandi

mongodb - 在 Go 中模拟 MongoDB 响应

我正在从MongoDB获取文档并将其传递给函数transform,例如vardocmap[string]interface{}err:=collection.FindOne(context.TODO(),filter).Decode(&doc)result:=transform(doc)我想为transform编写单元测试,但我不确定如何模拟来自MongoDB的响应。理想情况下,我想设置这样的东西:funcTestTransform(t*testing.T){byt:=[]byte(`{"hello":"world","message":"apple"}`)vardocmap[stri

go - 使用 go-mocket 模拟 GORM 数据库不起作用

我正在尝试使用go-mocket来模拟gorm数据库,但它无法正常工作。我没有向我的ClusterExists函数发送任何模拟数据,因此单元测试无法按预期工作。在文档中有两种模拟“简单链用法”和“FakeResponse”的方法。我已经尝试了两种方法,但都不起作用。我的功能:funcClusterExists(cluster*Cluster,db*gorm.DB)bool{c:=Cluster{}exists:=!db.Where("cluster_name=?ANDenv_type=?",cluster.ClusterName,cluster.EnvType).First(&c).R

java - 带有数据流的 Apache Beam Go SDK

我一直在使用GoBeamSDK(v2.13.0),但无法获得wordcountexample致力于GCP数据流。它进入崩溃循环以尝试启动org.apache.beam.runners.dataflow.worker.DataflowRunnerHarness。该示例在使用Directrunner在本地运行时正确执行。该示例与上面给出的原始示例完全没有修改。堆栈跟踪是:org.apache.beam.vendor.grpc.v1p13p1.com.google.protobuf.InvalidProtocolBufferException:Protocolmessagehadinvali

go - 如何用golang打印?

我想用go在打印机上打印,但打印机只打印奇怪的字符......我不知道该如何解决。如果我打印字符串,它可以工作;如果我尝试在外部软件上打印pdf,它也可以工作,但只会失败。我用的是“github.com/jadefox10200/goprint”printerHandle,err:=goprint.GoOpenPrinter("CUSTOMK80")iferr!=nil{log("Failedtoopenprinter")}defergoprint.GoClosePrinter(printerHandle)err=goprint.GoPrint(printerHandle,"hello

go - 如何记录或打印使用 Gin 收到的请求?

例子:funccreateOrUpdateInfluencer(c*gin.Context){}如何在我的函数中打印接收到的请求中的数据?在我的例子中,我应该接收JSON,如何在不知道它是什么样子的情况下打印它? 最佳答案 只需读取并打印正文即可:funccreateOrUpdateInfluencer(c*gin.Context){body,_:=ioutil.ReadAll(c.Request.Body)println(string(body))}或者如果你只是想在中间件中偷看,你可以读完后放回Go:funccreateOrUp

go - 模拟外部库以进行单元测试

我有一个下面的函数tryGet()来进行单元测试:typeconfigstruct{Keystring`json:"key"`Clienttodo.Client`json:"client"`}varinstance*configfunc(c*config)tryGet()error{client:=&http.Client{}tClient:=Client{"http://url",client}configValues:=config{"Key",tClient}Instance:=&configValueserr:=Instance.Client.perform("GET",hea

unit-testing - 如何为另一个包中的方法编写模拟代码

我正在为service.go设置service_test.go。在service.go中,方法是从dao.go中调用的。所以我需要模拟这个dao方法。但我不确定如何编写此模拟方法的代码。这是存储库结构。article├client├api│├main.go│├contoroller││└contoroller.go│├service││└service.go│├dao││└dao.go│├go.mod│├go.sum│└Dockerfile├nginx└docker-compose.yml服务.gofuncGetArticleService(db*sql.DB)[]util.Artic